# -*- coding: utf-8 -*-
"""
Created on Thu Sep 19 10:56:15 2019

@author: Administrator
"""

# 1027 打印沙漏
# 解题思路：
# 分析图形以中间分界，可以迭代循环，每一次迭代生成一层，添加到上下方
# 存储数据可以用list，每一次迭代在list头和尾添加一层。

# 格式错误：
# 当使用str.center(x)时，会在str左右两边同时添加空格来居中
# 但是题目没有明确，图形的右边不能有空格填充。去除右边空格后，通过。


def test():
    raw = input().split(' ')
    num = int(raw[0])
    label = raw[1]
    if num <= 0 or num > 1000:
        return
    
    result = []
    count = 0
    if num >= 1:
        result.append(label)
        num = num - 1
        count = count + 1
    
    line_digits = 2 * count + 1
    while num >= 2 * line_digits:
        result.insert(0, label * line_digits)
        result.append(label * line_digits)
        num = num - 2 * line_digits
        count = count + 1
        line_digits = 2 * count + 1
    
    # print
    i = 0
    index = 0
    length = len(result)
    for ele in result:
        print(' ' * i + ele)
        if index < length // 2:
            i = i + 1
            index = index + 1
        else:
            i = i - 1
            index = index + 1
    print(num)
    
test()
